package ksv.cron.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ksv.cron.bean.SysCron;
import ksv.cron.bean.SysCronLog;
import org.springframework.data.domain.Pageable;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @创建人 xiaojiancheng
 * @时间 2020/8/16
 * @描述 $k$
 */
public interface CronService {
    List<SysCron> loadMoreCron(SysCron cron, Page page);

    List<SysCron> loadMoreActiveCron(LocalDateTime time, int count);

    SysCron queryCron(Long id);

    SysCron saveCron(SysCron cron);

    SysCron saveAndDeleteCron(SysCron cron);

    void deleteCron(SysCron cron);

    void updateCron(SysCron cron);

    List<SysCronLog> logs(SysCron cron);

    void saveLog(SysCronLog log);

    void batchSaveLog(List<SysCronLog> logList);

    void stopCron(SysCron cron);

    void executeOnce(SysCron cron);
}
